/*
 * @Author: zs.duan
 * @Date: 2023-04-05 14:15:07
 * @LastEditors: zs.duan
 * @LastEditTime: 2023-05-01 23:21:37
 * @FilePath: \serve\config\config.js
 */

/**基础配置*/ 
const config = {
    /**端口*/ 
    port: 3000,
    /**静态资源目录*/ 
    staticDir : ['public', 'uploads'],
    /**是否为开发环境*/ 
    development : true, 
    /**最大上传文件大小*/ 
    maxPostSize: "100mb", 
    /**上传文件目录*/ 
    uploadDir: "uploads", 
    /**是否开启跨域*/ 
    crosEnable : true,
    /**跨域配置*/
    cors: { 
        origin: "*",
        methods: "GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS",
        allowedHeaders: "Content-Type, Authorization, X-Requested-With",
        credentials: true,
        maxAge: 86400
    },
    /**http图片地址*/
    // httpImgUrl : "https://anran233.com/", 
    httpImgUrl : "http://localhost:3001/", 
    /**http文件地址*/
    httpFileUrl : "http://localhost:3001/file/", 
    // httpFileUrl : "https://anran233.com/file/", 
    secretOrPrivateKey : "blog", //密钥
    appid : "wx640ac4c844288c57",
    AppSecret : "eabbad38748ad97703d9d96a9489beb4",
    /**是否发送邮件*/
    isSendEmail : true, 
    /**验证码最大次数*/
    codeMaxNum : 5, 
}


/**错误代码*/
const errorCode = {
    /** 10000 未知错误*/ 
    10000 : {
        code : 10000,
        message : "未知错误"
    },
    /** 10001 数据不存在*/ 
    10001 : {
        code : 10001,
        message : "数据不存在"
    },
    /** 10002 数据已存在 */ 
    10002 : {
        code : 10002,
        message : "数据已存在"
    },
    /** 10003 参数不完整 */ 
    10003 : {
        code : 10003,
        message : "参数不完整"
    },
    /** 10004 数据格式错误 */ 
    10004 : {
        code : 10004,
        message : "数据格式错误"
    },
    /** 10005 查询失败 */ 
    10005 : {
        code : 10005,
        message : "查询失败"
    },
    /** 10006 添加失败*/ 
    10006 : {
        code : 10006,
        message : "添加失败"
    },
    /** 10007 更新失败*/ 
    10007 : {
        code : 10007,
        message : "更新失败"
    },
    /** 10008 删除失败 */ 
    10008 : {
        code : 10008,
        message : "删除失败"
    },
    /** 10009 上传失败*/ 
    10009 : {
        code : 10009,
        message : "上传失败"
    },
    /** 10010 登录失败*/ 
    10010 : {
        code : 10010,
        message : "登录失败"
    },
    /** 10011 注册失败*/
    10011 : {
        code : 10011,
        message : "注册失败"
    },
    /** 10012 用户名或密码错误*/
    10012 : {
        code : 10012,
        message : "用户名或密码错误"
    },
    /** 10013 sql语句错误*/
    10013 : {
        code : 10013,
        message : "sql语句错误"
    },
    /** 10014 执行sql语句失败*/
    10014 : {
        code : 10014,
        message : "执行sql语句失败"
    },
    /** 10015 执行失败*/
    10015 : {
        code : 10015,
        message : "执行失败"
    },
    /** 10016 验证码错误*/
    10016 : {
        code : 10016,
        message : "验证码错误"
    },
    /** 10017 服务器请求失败*/
    10017 : {
        code : 10017,
        message : "服务器请求失败"
    },
    /**
     * 10018 : 执行上限
     * */ 
    10018 : {
        code : 10018,
        message : "执行上限"
    },
    /**登录失效*/
    10019 : {
        code : 10019,
        message : "登录失效"
    }, 
    /**错误的关键字*/
    10020 : {
        code : 10020 ,
        message : '错误的关键字'
    }, 
    /** 401 无权限*/ 
    401 : {
        code : 401,
        message : "无权限"
    },
    /** 403 禁止访问*/
    403 : {
        code : 403,
        message : "请通过正确的来源访问"
    }, 
    /** 404 找不到数据*/
    404 : {
        code : 404,
        message : "找不到数据"
    },
    /** 500 服务器错误*/
    500 : {
        code : 500,
        message : "服务器错误"
    } 
} 

/**成功代码*/
const successCode = {
    200 : {
        code : 200,
        message : "成功"
    }
} 

/** 数据库基础配置*/ 
const sqlConfig = {
    // host: "1.15.105.243", //这是数据库的地址
    host: "162.14.204.179", //这是数据库的地址
    user: "root", //需要用户的名字
    password: "2020609", //用户密码 ，如果你没有密码，直接双引号就是
    database: "my_blog", //数据库名字
}

/** redis 配置*/
const redisConfig = {
    host: "162.14.204.179",
    port: "6379",
    // password: "anran233_dl123456",
    // password: "",
} 

/**禁止ip配置*/
const banIp = [
    // "1.15.105.243"
]

const Referer = [
    /^[^.]+\.anran233\.com$/, // 匹配 *.anran233.com
    /^anran233\.com$/ , // 匹配 anran233.com
    /^[^.]+\.anran233\.cn$/, // 匹配 *.anran233.cn
    /^anran233\.cn$/, // 匹配 anran233.cn
    /^localhost(?::\d+)?$/,                   // 匹配 localhost，可选端口和路径
    /^127\.0\.0\.1(?::\d+)?$/,               // 匹配 127.0.0.1，可选端口和路径
    /^::1(?::\d+)?$/,                        // 匹配 ::1，可选端口和路径
    /^1\.15\.105\.243(?::\d+)?$/,        // 匹配 1.15.105.243，可选端口和路径
    /^162\.14\.204\.179(?::\d+)?$/,        // 匹配 162.14.204.179，可选端口和路径
]

module.exports = {
    config,
    sqlConfig,
    errorCode,
    successCode,
    banIp,
    redisConfig,
    Referer
}